查看原文
其他

让模糊图片变清晰|滴滴云带你从零开始训练图像超分辨模型



「继CCF名企面对面第一季滴滴专场成功举办后,CCF名企面对面第二季在7月24日再次走进滴滴。来自滴滴出行的三位技术专家王琤、朱中涛和鲁健捷与大家分享了滴滴云计算服务体系,领先的AI能力和AI工程落地经验,并现场带领大家在滴滴云机器学习工作室(DAI平台)上从零开始训练一个图像超分辨模型。要是错过直播的话也不要担心,本文将带你回顾训练一个图像超分辨模型的全过程。DAI平台为大家免费开放至8月3日,大家可以在此之前免费参与实践。文末还有完整回放地址,一起来看下吧!」


使用前准备

在使用前首先完成注册:

(1)

(2)

(3)获得白名单认证,请联络滴滴云线上客服。


*API直达链接:

https://www.didiyun.com/cmarket/api-cmarket-detail.html?uuid=816ffe616c235217b9d61e49ad198475

*购买服务后会在后台的控制台看到App Code,有了App Code就可以使用图像超分辨API服务


使用示例

我们以一张风景图(尺寸1000 × 605)为例,来展示如何在滴滴云上“无损地”放大这张图片。

Python 代码示例如下:

import base64import jsonimport matplotlib.pyplot as pltimport numpy as npimport requests
from io import BytesIOfrom PIL import Image
# 打开一张图片,并转为base64编码with open("/Users/didi/Downloads/230107657_medium.jpg", "rb") as image_file:img_base64 = base64.b64encode(image_file.read())url = 'https://aiapi-isr.apigw-gz.didiyunapi.com/isr'# 订阅API服务后,将XXX改成自己的App Codeaccess_token = 'XXX' H = {'Authorization': 'AppCode ' + access_token, 'Content-Type': 'application/json'}# scale 为放大倍数,支持2,3,4,需要保证放大后图像尺寸不超过3200x3200s = json.dumps({'image': str(img_base64, 'utf-8'), 'scale': 3}) r = requests.post(url, headers=H, data=s)try: result = json.loads(r.text)except: print(r.text)
if 'image' in result.keys(): img_dec = base64.b64decode(result['image']) img = Image.open(BytesIO(img_dec)) # 把放大后的图片保存到本地 img.save('/Users/didi/Downloads/result.png') plt.imshow(np.array(img))else:    print(r.text)

现在我们聚焦红框区域,来对比图像超分辨处理前后的变化:

原始图像:

BICUBIC 上采样处理的结果:

图像超分辨API处理结果:

可以看到经过我们图像超分辨API处理后的图像细节更丰富,视觉效果改善更明显。实际使用中,输入图像纹理越丰富,图像超分辨处理效果越好。


*更多API使用说明请参考:

https://docs.didiyun.com/static/apimarket-docs/services/AI/图像超分辨/使用说明.html

*滴滴云DAI将为大家免费开放至8月3日,大家可以在这之前使用滴滴云DAI进行实践

滴滴云AI大师招募

为了更好的服务使用滴滴云平台的用户,滴滴云推出AI大师计划,旨在帮助更多的人使用更加稳定、优质的计算资源:

扫描下方二维码

添加滴滴云小助手为好友,

回复“AI大师”

了解更多滴滴云AI大师相关资讯!

视频观看

欢迎大家复制网址

https://www.bilibili.com/video/BV1kK411J7wv至浏览器,

或扫描下方二维码,收看直播精彩回放。

满满干货,不容错过。

推荐阅读

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存